//package com.example.community.entity;
//
//import lombok.Data;
//import org.apache.kafka.common.protocol.types.Field;
//
//import java.util.HashMap;
//import java.util.Map;
//
//@Data
//public class Event {
//    private String topic;
//    private int userId;
//    private int entityType;
//    private int entityId;
//    private int entityUserId;
//    private Map<String,Object> data;
//
//    public static final class EventBuilder {
//        private String topic;
//        private int userId;
//        private int entityType;
//        private int entityId;
//        private int entityUserId;
//        private Map<String,Object> data;
//
//        private EventBuilder() {
//        }
//
//        public static EventBuilder anEvent() {
//            return new EventBuilder();
//        }
//
//        public EventBuilder withTopic(String topic) {
//            this.topic = topic;
//            return this;
//        }
//
//        public EventBuilder withUserId(int userId) {
//            this.userId = userId;
//            return this;
//        }
//
//        public EventBuilder withEntityType(int entityType) {
//            this.entityType = entityType;
//            return this;
//        }
//
//        public EventBuilder withEntityId(int entityId) {
//            this.entityId = entityId;
//            return this;
//        }
//
//        public EventBuilder withEntityUserId(int entityUserId) {
//            this.entityUserId = entityUserId;
//            return this;
//        }
//
//        public EventBuilder withData(Map<String, Object> data) {
//            this.data = data;
//            return this;
//        }
//
//        public Event build() {
//            Event event = new Event();
//            event.setTopic(topic);
//            event.setUserId(userId);
//            event.setEntityType(entityType);
//            event.setEntityId(entityId);
//            event.setEntityUserId(entityUserId);
//            event.setData(data);
//            return event;
//        }
//    }
//
//
//    public static void main(String[] args) {
//        EventBuilder builder = new EventBuilder();
//        HashMap<String, Object> map = new HashMap<>();
//        map.put("12","23");
//        System.out.println(builder.withEntityId(1).withEntityType(2).withData(map).build());
//    }
//}
package com.example.community.entity;

import java.util.HashMap;
import java.util.Map;

/**
 * 改造成建造者模式
 */
public class Event {

    private String topic;
    private int userId;
    private int entityType;
    private int entityId;
    private int entityUserId;
    private Map<String, Object> data = new HashMap<>();

    public String getTopic() {
        return topic;
    }

    public Event setTopic(String topic) {
        this.topic = topic;
        return this;
    }

    public int getUserId() {
        return userId;
    }

    public Event setUserId(int userId) {
        this.userId = userId;
        return this;
    }

    public int getEntityType() {
        return entityType;
    }

    public Event setEntityType(int entityType) {
        this.entityType = entityType;
        return this;
    }

    public int getEntityId() {
        return entityId;
    }

    public Event setEntityId(int entityId) {
        this.entityId = entityId;
        return this;
    }

    public int getEntityUserId() {
        return entityUserId;
    }

    public Event setEntityUserId(int entityUserId) {
        this.entityUserId = entityUserId;
        return this;
    }

    public Map<String, Object> getData() {
        return data;
    }

    public Event setData(String key, Object value) {
        this.data.put(key, value);
        return this;
    }

}
